package com.example.leetcode.solution;

import java.util.HashMap;
import java.util.Map;

public class Solution13 {
    public static int romanToInt(String s) {
        Map<Character, Integer> romanMap = new HashMap<>();
        romanMap.put('I', 1);
        romanMap.put('V', 5);
        romanMap.put('L', 50);
        romanMap.put('D', 500);
        romanMap.put('X', 10);
        romanMap.put('C', 100);
        romanMap.put('M', 1000);

        int result = 0;
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            Integer integer = romanMap.get(c);
            int j = i + 1;
            if (j < s.length()) {
                char c2 = s.charAt(j);
                Integer integer2 = romanMap.get(c2);
                if (integer2 > integer) {
                    result += (integer2 - integer);
                    i = j;
                } else {
                    result += integer;
                }
            } else {
                result += integer;
            }
        }
        return result;
    }
}
